#include <stdio.h>
// gcc test.c -o test
// %zu是size_t的格式化输出
void test_stack(size_t size) {
    printf("Testing stack allocation with size: %zu ints (%.2f MB)\n", size, size * sizeof(int) / (1024.0 * 1024.0));
    int arr[size]; // 栈分配
    for (size_t i = 0; i < size; i++) {
        arr[i] = i; // 写入测试
    }
    printf("Stack allocation of size %zu succeeded.\n", size);
}

int main() {
    size_t size = 1; // 初始大小（单位为int个数）

    printf("Testing stack allocation...\n");
    while (1) {
        test_stack(size);
        size *= 2; // 每次增加一倍大小
    }

    return 0;
}
